package com.theeviljames.coursework.problems;

public class ThreeBitParity implements IANNProblem {

	public ThreeBitParity() {
	}
	
	public double[][][] trainingSet() {
		double[][][] trainingSet = new double[][][]{
				{{0},{0},{0},},//Even
				{{0},{0},{1},},//Odd
				{{0},{1},{0},},//Odd
				{{0},{1},{1},},//Even
				{{1},{0},{0},},//Odd
				{{1},{0},{1},},//Even
				{{1},{1},{0},},//Even
				{{1},{1},{1},},//Odd
		};
		return trainingSet;
	}

	public double[][][] trainingTargetSet() {
		double[][][] targetSet = new double[][][]{
				//{{Odd},{Even}}
				{{0},{1},},//Even
				{{1},{0},},//Odd
				{{1},{0},},//Odd
				{{0},{1},},//Even
				{{1},{0},},//Odd
				{{0},{1},},//Even
				{{0},{1},},//Even
				{{1},{0},},//Odd
		};
		return targetSet;
	}

	public double[][][] validationSet() {
		double[][][] validationSet = new double[][][]{
				{{0},{0},{0},},//Even
				{{0},{0},{1},},//Odd
				{{0},{1},{0},},//Odd
				{{0},{1},{1},},//Even
				{{1},{0},{0},},//Odd
				{{1},{0},{1},},//Even
				{{1},{1},{0},},//Even
				{{1},{1},{1},},//Odd				
		};
		return validationSet;
	}

	public double[][][] validationTargetSet() {
		double[][][] targetSet = new double[][][]{
				//{{Odd},{Even}}
				{{0},{1},},//Even
				{{1},{0},},//Odd
				{{1},{0},},//Odd
				{{0},{1},},//Even
				{{1},{0},},//Odd
				{{0},{1},},//Even
				{{0},{1},},//Even
				{{1},{0},},//Odd
		};
		return targetSet;
	}

}
